package com.ssy.lingxi.order.model.vo.basic.response;

import com.ssy.lingxi.order.handler.annotation.DateStringFormatAnnotation;
import com.ssy.lingxi.order.handler.annotation.DateTimeFormatAnnotation;
import com.ssy.lingxi.order.model.vo.basic.request.DeliveryOrderProductParamVO;
import com.ssy.lingxi.order.model.vo.common.request.LogisticsAddressVO;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Range;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * @author wyx
 * @version 2.0.0
 * @date 2021-10-13
 */
@Setter
@Getter
public class DeliveryOrderCreateByPlanVO implements Serializable {

    private static final long serialVersionUID = 6090962879499202508L;
    /**
     * 来源类型：0-手工新增  1-送货计划  2-送货通知
     */
    private Integer sourceType;
    /**
     * 关联来源id：送货计划编号/送货通知编号
     */
    private String sourceNo;
    /**
     * 买方（采购）会员Id
     */
    private Long buyerMemberId;

    /**
     * 买方（采购）会员角色Id
     */
    private Long buyerRoleId;

    /**
     * 采购会员名称
     */
    private String buyerMemberName;

    /**
     * 摘要
     */
    private String digest;

    /**
     * 送货日期 yyyy-MM-dd
     */
    private String deliveryTime;

    /**
     * 送货开始时间 （HH:mm）
     */
    private String deliveryStartTime;

    /**
     * 送货结束时间 （HH:mm）
     */
    private String deliveryEndTime;

    /**
     * 送货商品集合
     */
    private List<DeliveryOrderProductParamVO> products;

    /**
     * 备注
     */
    private String remark;

    /**
     * 配送方式: 1-物流, 2-自提
     */
    private Integer deliveryType;


    /**
     * 发货时间 yyyy-MM-dd HH:mm:ss
     */
    private String sendTime;

    /**
     * 发货地址
     */
    private LogisticsAddressVO deliveryVO;

    /**
     * 收货地址
     */
    private LogisticsAddressVO receiveVO;

    /**
     * 发货人
     */
    private LogisticsAddressVO executorVO;

    /**
     * 物流公司id
     */
    private Long logisticsCompanyId;
    /**
     * 物流单号
     */
    private String logisticsNo;
    /**
     * 物流公司
     */
    private String logisticsCompany;

    /**
     * 订单类型：1-B2B  2-SRM
     */
    private Integer orderType;
}
